html和css 不是编程语言 标记语言
编程语言：javascript php python java c c++ go
弱类型：javascript php
强类型：python, c
对于语法规范的严格程度，数据类型要求

web端语言 javascript -> nodejs -> 运行在服务器端
服务器端语言 php

在访问后端的项目的时候，是如何访问
用户先打开浏览器输入地址 -> 
www.api.com -> 域名 -> ping 域名 -> ip地址 -> 129.131.21.17
ip地址 -> 指向一台服务器(广州) -> 服务器的软件(php) -> apache/nginx/iis
apache -> 设置一个站点 -> 站点规则 -> 找到我们域名所访问的目录 -> /WWW/api/index.html

双引号中的变量可以被解析
单引号的变量不能被解析


错误：
  致命错误：直接终止程序的运行
  非致命错误：会报错，但是不会终止程序的运行
  @ 可以抑制非致命的错误 但是致命的抑制不了


echo false 输出啥也没有
echo true  输出1

超全局变量  指的是用于获取服务器的信息
$_GET 获取get方式的数据 写到域名上面的
$_POST 获取post的数据 会比较安全
$_REQEUST 既可以拿到get的数据也可以拿到post的数据
$_COOKIE 获取cookie缓存信息 属于浏览器客户端缓存
$_SESSION 服务器端的缓存
$_FILES 获取文件信息
$GLOBALS 获取全局变量信息
$_ENV 环境变量信息

常量是不可以被修改的
内置的，自己定义的 


魔术常量 __常量名称__

JS的数据类型
  字符串 数值 布尔 数组 对象 undefined null 

PHP的数据类型
  字符串 数值 布尔 数组 对象 null 资源(resource)

  undefined在php这边被当成错误类型

JS运算符和PHP运算符 一样
  +-*/% 算术运算符
  ++ --  递增递减运算符
  += -= *= /= 赋值运算符
  > >= < <= != !== === 比较运算符
  && || ! 逻辑运算符
  三元运算符 属于条件的一直写法

JS和PHP的条件判断 一样
  if(){}else if(){}else{}
  switch(变量)
  {
    case "条件1":
      代码
      break;
    case "条件2":
      代码
      break;
    default:
      等价于else
      break;
  }

JS和PHP循环都一样的 唯独就php中用的方法不太相同
JS:
  while(){}
  do{}while()
  for(){}
  forEach(函数)
  for(in)
  for(of)
  break;
  continue;

PHP
  while(){}
  do{}while()
  for(){}
  foreach(循环的变量 as $key可以不写=>$item)
  foreach(循环的变量 as $item)
  break;
  continue;

函数部分：
  引入php文件
  include 引入一个不存在的文件 会报非致命的错误 继续往下运行
  require 引入一个存在的文件 会报致命的错误 终止运行

  会检测是否有重复引入文件
  include_once require_once


php对象中
  数学函数

时间日期
  JS当中 时间单位是 毫秒为单位
  PHP当中 时间单位是 秒为单位
  1s = 1000ms

时间戳 从1970年1月1日0时0分0秒 到现在的总时间(s)

['a','b','c']


标准变量可以用 echo 来输出 字符串、数值
var_dump 打印来输出 布尔 数组 对象

JS只有索引数组
关联数组 是JS的对象

PHP数组：分两种
  索引数组：数组中所有的下标都是数字
  关联数组：数组中所有的下标都是字母类

字符串
  '' "" 区别
  ''单引号里面的变量不会解析
  ""双引号里面的变量会被解析

    MD5 加密 不可逆的加密方式
    哈希 sha1 加密

    纯md5加密是容易被破解的


文件夹的操作
  mkdir   创建文件夹
  scandir  读取目录下的文件 将读取文件放到一个数组里面
  rename 重命名 移动
  rmdir 删除文件夹 只能够删除为空的文件夹
  copy 复制

文件的操作
  file_get_contents 读取文件内容
  file_put_contents 写入内容到文件中 如果文件不存在会自动创建
  copy 复制
  rename 重命名 移动
  unlink 文件删除

实用的方法
  is_file 判断是不是文件如果是文件就返回true
  is_dir 判断是不是文件夹
  pathinfo 获取一个路径的信息(路径，文件名)
  filectime 文件的创建时间 -> date转换为标准时间
  filesize 获取文件的大小
  file_exists 判断文件是否存在 如果存在返回true
  isset 判断某个变量是否 存在返回true 
  empty 判断是否为空 为空返回true 否则返回false
  unset 删除变量


apache 会默认去跳转到站点目录下面的 \
  index.html 或者是 index.php


php 里面是可以写 html的结构

php后缀的文件， 是可以嵌套html的代码结构


高级分离术


文件操作系统
  创建文件：file_put_contents
  创建文件夹：mkdir

  重命名：rename

  删除文件：unlink
  删除文件夹：rmdir 只能删除为空的文件夹 
  强制删除：不为空也要删除，递归把里面的东西删完，然后在删掉最外层
  







